#include <stdio.h>
#include <signal.h>

//  定义函数原型
static void sig_int(int);

int main(int argc, char *argv[]) {

	// 注册信号处理钩子
	if (signal(SIGINT, sig_int) == SIG_ERR) {
		printf("signal error");
	}

	// 在等待输入的过程中按  ctrl+c发送终端信号 就能触发sig_int函数执行
	int c;
	while ((c = getc(stdin)) != EOF) {
		if (putc(c, stdout) == EOF) {
			printf("output error");
		}
	}

	if (ferror(stdin)) {
		printf("input error");
	}
}

// 钩子函数具体的实现
void sig_int(int signo) {
	printf("interrupt---- \n %%");
}
